/*FILE UPDATE INFO**************************************************************
 * Author   : PURESUN
 * Update   : 2024-01-05
 * Info     : message box ui header file
 * Version  : 1.0.0
 ******************************************************************************/

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MSG_BOX_H__
#define __MSG_BOX_H__

/* Includes ------------------------------------------------------------------*/
#include "stdbool.h"
#include "stdint.h"
#include "lvgl/lvgl.h"

/* Exported macro ------------------------------------------------------------*/

/* Exported types ------------------------------------------------------------*/
typedef void (*msg_cb_t)(void *args);
typedef struct __msgbox__
{
    lv_obj_t *box;
    lv_font_t *font_title;
    lv_font_t *font_text;
    union
    {
        void *args;
        int32_t value;
    };
    msg_cb_t cb;
} msgbox_t;

/* Exported constants --------------------------------------------------------*/

/* Exported variables --------------------------------------------------------*/

/* Exported functions --------------------------------------------------------*/
void msgbox_font_init(lv_font_t *font_title, lv_font_t *font_text);
void show_msgbox(char *title, char *text, bool btn_close_en, bool btn_confirm_en, bool btn_cancel_en, bool btn_back_en, msg_cb_t cb, void *args);

#endif /* __ICONS_H__ */
/************************ (C) COPYRIGHT PURESUN *****END OF FILE***************/
